#pragma once

#ifndef __CONSTDEFINE_H__
#define __CONSTDEFINE_H__

const UINT  LINE_STARTX = 100;
const UINT  LINE_STARTY = 100;
const UINT  LINE_GAPX   = 100;
const UINT  LINE_GAPY   = 15;
const UINT  LINE_LENGTH = 460;
const UINT  LINE_MAX    = 435;
const UINT  LINE_MIN    = 15;
const UINT  INDEX_MAX   = 29;
const UINT  INDEX_MIN   = 1;

#define WM_TABKEYPRESSED    (WM_APP +123)
#define MAX_LINECOUNT       50

#ifdef _DEBUG
#define NATEON_LADDER_GUID  _T("AB4F4B06-32BA-4ABC-ACB2-9F84CA8AC284")
#else
#define NATEON_LADDER_GUID  _T("A4EECDA0-5845-4FDA-B9FF-78BF50CE6F53")
#endif


class CLadderMainDlg;
extern CLadderMainDlg* g_pMainDlg;
extern HWND     g_hWndParent;
extern CString  g_strMainPath;
extern CString  g_strSkinPath;
extern CString  g_strTempPath;
extern CString  g_strConfPath;
extern CString  g_strMainID;
extern CString  g_strMainCmn;

class CDispNateMessengerApi;
extern CDispNateMessengerApi*   g_pNateOn;

typedef CArray<CPoint, CPoint>  CPtArray;


extern BOOL ISOSNT();
extern int  ComparePoint(const void* pnPoint1, const void* pnPoint2);


typedef struct tagUSER_INFO
{
    tagUSER_INFO()
    {
        m_strGId        = _T("");
        m_strId         = _T("");
        m_strCmn        = _T("");
        m_strName       = _T("");
        m_nStatus       = 0;
    }
    ~tagUSER_INFO()
    {
    }

    CString m_strGId;
    CString m_strId;
    CString m_strCmn;
    CString m_strName;
    int     m_nStatus;
} USER_INFO, *LPUSER_INFO;

typedef CArray<USER_INFO, USER_INFO> CUserInfoArray;


#endif // __CONSTDEFINE_H__